import time
from random import random


def run_time(func):
    def wrapper(*args, **kwargs):  # *args **kwargs 是函数 func 的参数 [ 通用形式 ], 如果没有参数可以省略
        start = time.time()
        result = func(*args, **kwargs)
        end = time.time()
        print("函数: {} 执行时间: {}".format(func.__name__, end - start))
        return result  # 执行的结返回，如果没有可以省略

    return wrapper


@run_time
def test():
    print("Hello World")
    time.sleep(random.random())


@run_time
def add(a, b):
    return a + b


if __name__ == "__main__":
    test()
    print("add(2, 5) 执行的结果: {}".format(add(2, 5)))
